package com.ruoyi.good.repository;

import com.ruoyi.good.model.entity.GoodSkuEntity;
import com.ruoyi.good.model.vo.GoodSkuStockKeyVO;

import java.util.Date;

/**
 * TODO
 *
 * @Description
 * @Author wkm
 * @Date 2024/12/29
 **/
public interface IActivityRepository {
    GoodSkuStockKeyVO takeQueueValue();

    void clearQueueValue();

    void updateGoodSkuStock(Long goodsId);

    void clearGoodSkuStock(Long goodsId);

    void cacheGoodSkuStockCount(String cacheKey, Integer stockCount);

    boolean subtractionGoodSkuStock(Long goodsId, String cacheKey, Date endDateTime);

    GoodSkuEntity queryGoodSku(Long goodsId);

    void goodSkuStockConsumeSendQueue(GoodSkuStockKeyVO goodSkuStockKeyVO);
}
